# 有些情况还是非常容易遗漏 close 的, 防不胜防.

# def func():
#     f = open('d:/Python环境/test.txt', 'r', encoding='utf8')
#     # 中间来写其他的操作文件的逻辑~~
#     # 万一中间的代码里, 有 条件判定, 函数返回, 抛出异常~
#     if cond:
#         # 进行条件处理
#         f.close()
#         return
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     if cond:
#         # 进行条件处理
#         f.close()
#         return
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     if cond:
#         return
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     # 另外一些代码.
#     f.close()

# 使用上下文管理器, 就能解决这个问题.
def func():
    with open('d:/Python环境/test.txt', 'r', encoding='utf8') as f:
        # 进行文件这里的处理逻辑
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        if cond:
            return
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        if cond:
            return
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
        # 假设这里有很多代码
